
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>udSDK Release Notes &#8212; Euclideon udSDK  documentation</title>
    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/language_data.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="udSDK" href="udSDK.html" />
    <link rel="prev" title="Euclideon udSDK!" href="index.html" />
   
  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
  
  
  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />

  </head><body>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          

          <div class="body" role="main">
            
  <section id="udsdk-release-notes">
<h1>udSDK Release Notes<a class="headerlink" href="#udsdk-release-notes" title="Permalink to this headline">¶</a></h1>
<section id="udsdk-2-4">
<h2>udSDK 2.4<a class="headerlink" href="#udsdk-2-4" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>New Features</p>
<ul>
<li><p>Added option to mesh a UDS with udMeshing</p></li>
<li><p>Added option to store source filenames as an attribute during conversion</p></li>
<li><p>Added the f32 udPrimitiveU, f32 udPrimitiveV, u32 udPrimitiveMaterialID, f32 udAltitude and u16 udSourceFileID channels</p></li>
<li><p>Added support for JSON attributes</p></li>
<li><p>Added ability to merge scenes</p></li>
</ul>
</li>
<li><p>Improvements</p>
<ul>
<li><p>Expanded udQuery API</p></li>
<li><p>Expanded udGeometry API</p></li>
<li><p>Expanded udCompare API</p></li>
<li><p>Improved block renderer</p></li>
<li><p>Improved debug support for GPU rendering</p></li>
</ul>
</li>
<li><p>Bug Fixes</p>
<ul>
<li><p>Function to keep machine awake during conversion now performs correctly</p></li>
<li><p>Fixed issues with loading OBJs</p></li>
</ul>
</li>
</ul>
<section id="breaking-changes">
<h3>Breaking Changes<a class="headerlink" href="#breaking-changes" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>Removed cylinder support from udGeometry</p></li>
<li><p>PointBuffer variable “attributeSize” renamed to “attributeStride”</p></li>
</ul>
</section>
</section>
<section id="udsdk-2-3">
<h2>udSDK 2.3<a class="headerlink" href="#udsdk-2-3" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>New Features</p>
<ul>
<li><p>Added udCloud Workspace, Project, Scene and File APIs</p></li>
<li><p>Added udGeoProjection API</p></li>
</ul>
</li>
<li><p>Improvements</p>
<ul>
<li><p>Improved accuracy in voxeliser</p></li>
<li><p>Convert now creates folder structure for temporary output directory, cleaning up the created folders at the end</p></li>
<li><p>Domain logins can now access premium features if server is configured to allow</p></li>
</ul>
</li>
<li><p>Bug Fixes</p>
<ul>
<li><p>Fixed rare crash in streamer when blocks were destroyed while being loaded</p></li>
<li><p>Fixed rare crash in streamer when multiple requests to a single block were made</p></li>
<li><p>Renderer no longer crashes if matrices contain invalid floats</p></li>
</ul>
</li>
<li><p>Emscripten / WASM</p>
<ul>
<li><p>udSDKjs project moved to public udSDKSamples GitHub repo</p></li>
</ul>
</li>
<li><p>macOS</p>
<ul>
<li><p>Added M1 support</p></li>
<li><p>Bumped minimum macOS version to 11.0</p></li>
</ul>
</li>
</ul>
<section id="breaking-changes-1">
<h3>Breaking Changes<a class="headerlink" href="#breaking-changes-1" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>Renamed udProject to udScene</p></li>
<li><p>macOS minimum required version 11.0</p></li>
</ul>
</section>
</section>
<section id="udsdk-2-2">
<h2>udSDK 2.2<a class="headerlink" href="#udsdk-2-2" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>New Features</p>
<ul>
<li><p>Added support for Collaboration</p></li>
<li><p>Added support for logging into udCloud (including context creation and udServerAPI_Query)</p></li>
<li><p>Added Bake lighting option when converting OBJ files</p></li>
<li><p>Added option to export images contained in E57 files while converting</p></li>
<li><p>Added support for login to udCloud</p></li>
<li><p>Added support for Scenes from udCloud</p></li>
<li><p>Added a Polygon Filter to the query geometries</p></li>
<li><p>Added support for UDS Opacity</p></li>
<li><p>Added support for RAE encoded E57 files</p></li>
<li><p>Added support for RCP PTS files</p></li>
<li><p>Added support for in/out SRIDs in udConvert</p></li>
</ul>
</li>
<li><p>Improvements</p>
<ul>
<li><p>Exposed selective loading of attributes</p></li>
<li><p>Increased number of attributes supported to 64</p></li>
<li><p>Exposed a “udQueryGroup” for “udQueryFilter”</p></li>
</ul>
</li>
<li><p>Bug Fixes</p>
<ul>
<li><p>Fixed issue with xml reader for E57 files</p></li>
</ul>
</li>
</ul>
<section id="breaking-changes-2">
<h3>Breaking Changes<a class="headerlink" href="#breaking-changes-2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>udContext_Create is now udContext_CreateLegacy</p></li>
<li><p>In udSessionInfo the variable <code class="docutils literal notranslate"><span class="pre">isOffline</span></code> has been replaced with <code class="docutils literal notranslate"><span class="pre">apiVersion</span></code> where 0 is offline, 1 is udServer and 2 is udCloud server APIs</p></li>
<li><p>udScene_LoadFromServer, udScene_DeleteServerProject and udScene_SetLinkShareStatus need <code class="docutils literal notranslate"><span class="pre">workspace/project</span></code> as pGroupID; this should be null for udServer projects</p></li>
<li><p>udQueryFilter shapes have been merged into udGeometry. Most APIs that used to take the simple shapes can be switched to the udGeometry equivilents easily</p></li>
<li><p>udConvertCustomItem::pReadPointsInt was removed in favour of optimising the pReadPointsFloat path and to provide easier future expansion.</p></li>
</ul>
</section>
</section>
<section id="udsdk-2-1">
<h2>udSDK 2.1<a class="headerlink" href="#udsdk-2-1" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>New Features</p>
<ul>
<li><p>Added support for CSG and more advanced geometric shapes</p></li>
<li><p>Added support to create UDG when converting (using the ‘.udg’ extension)</p></li>
<li><p>Added attributes to <em>not</em> include during conversion</p></li>
<li><p>Added libraries for Ubuntu 20.04 Focal Fossa</p></li>
<li><p>Added support for WKT to be used during conversion</p></li>
<li><p>Added the u16 udRed, udGreen and udBlue channels used in many Geoverse Convert models</p></li>
<li><p>(Enterprise) Static library options for all supported platforms</p></li>
</ul>
</li>
<li><p>Improvements</p>
<ul>
<li><p>Exposed “udRCF_ZeroAlphaSkip” render flag to skip rendering of a voxel after it is resolved</p></li>
<li><p>Exposed <code class="docutils literal notranslate"><span class="pre">isVisible</span></code> for project nodes (which is also synced/saved)</p></li>
<li><p>Exposed <code class="docutils literal notranslate"><span class="pre">isPremium</span></code> in udContext for premium sessions</p></li>
<li><p>Exposed a lot more error codes for udError, now matches the full set of udResults from the open-source udCore library</p></li>
<li><p>Exposed the standard attribute types</p></li>
<li><p>Exposed information about the attributes that <em>are</em> included in the conversion</p></li>
<li><p>Removed the generic “LiveFeed” project type and added the specific “GTFS” type</p></li>
<li><p>Exposed <code class="docutils literal notranslate"><span class="pre">udRCF_2PixelOpt</span></code> flag as a significant performance boost when speed is more important than pixel-perfect accuracy</p></li>
<li><p>Exposed <code class="docutils literal notranslate"><span class="pre">udRCF_DisableOrthographic</span></code> flag as a significant accuracy boost when pixel perfect accuracy is more important than performance</p></li>
<li><p>Updated udCore for a lot of improvements including significantly more accurate geospatial reprojection between datums</p></li>
</ul>
</li>
<li><p>Bug Fixes</p>
<ul>
<li><p>Fixed issues with the embedded ASC importer</p></li>
<li><p>Fixed issue when trying to export or create very small (by point count) point cloud models</p></li>
<li><p>Fixed issue where the estimated point count took precedence in some cases even though the source resolution was known</p></li>
<li><p>Fixed issues where AVX was being used even though the CPU doesn’t support it</p></li>
<li><p>Fixed crash with conversion on machines with &gt;34 cores</p></li>
<li><p>Fixed crash when rendering lots of models or models with significant overlap</p></li>
<li><p>Fixed an issue with export progress failing when exporting large areas</p></li>
</ul>
</li>
<li><p>Android</p>
<ul>
<li><p>Fixed CA certs not being detected correctly</p></li>
</ul>
</li>
<li><p>Emscripten / WASM</p>
<ul>
<li><p>Updated all function names</p></li>
<li><p>Added functions to use intensity and classification voxel shader and change the server URL</p></li>
<li><p>Added the ability to create a context based on the domain the application is hosted from</p></li>
</ul>
</li>
<li><p>macOS</p>
<ul>
<li><p>Framework is now able to be signed</p></li>
<li><p>Added support for the M1</p></li>
</ul>
</li>
</ul>
<section id="breaking-changes-3">
<h3>Breaking Changes<a class="headerlink" href="#breaking-changes-3" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>The sizes of the following structs changed: udSessionInfo, udConvertInfo, udSceneNode</p></li>
<li><p>The udError enumerator was significantly changed. It now contains far more specific error codes and most of the more generic codes were removes.</p></li>
<li><p>udPointCloud_Export returns a fourth argument, a float pointer that will be updated with the export progress; this can be NULL</p></li>
<li><p>udPNT_LiveFeed was removed (The new udPNT_GTFS covers the GTFS version of Live Feeds all other versions are no longer supported)</p></li>
<li><p>All udScene creation functions require a pointer to a valid udContext object as the first argument now, udScene_CreateInMemory, udScene_CreateInFile, udScene_LoadFromMemory and udScene_LoadFromFile</p></li>
</ul>
</section>
</section>
<section id="udsdk-2-0">
<h2>udSDK 2.0<a class="headerlink" href="#udsdk-2-0" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Updated and Rebranded <code class="docutils literal notranslate"><span class="pre">Vault</span> <span class="pre">Development</span> <span class="pre">Kit</span></code> to version 2.0 of <code class="docutils literal notranslate"><span class="pre">udSDK</span></code>.</p></li>
</ul>
<blockquote>
<div><p>Please Note: Euclideon will continue to port features from udSDK 1.6.5 across which will result in further API changes.</p>
</div></blockquote>
<section id="breaking-changes-from-vdk">
<h3>Breaking Changes (From VDK)<a class="headerlink" href="#breaking-changes-from-vdk" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>Everything has been renamed. Mostly this is as simple as anything prefixed with <code class="docutils literal notranslate"><span class="pre">vdk...</span></code> will now be prefixed with <code class="docutils literal notranslate"><span class="pre">ud...</span></code></p>
<ul>
<li><p>There are a few exceptions the most notable are;</p>
<ul>
<li><p><code class="docutils literal notranslate"><span class="pre">vdkRenderView</span></code> became <code class="docutils literal notranslate"><span class="pre">udRenderTarget</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">vdkQuery</span></code> became <code class="docutils literal notranslate"><span class="pre">udQueryContext</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">udRenderOptions</span></code> became <code class="docutils literal notranslate"><span class="pre">udRenderSettings</span></code></p></li>
<li><p>Many changes in the attributes enums; <code class="docutils literal notranslate"><span class="pre">vdkAttributeTypeInfo...</span></code> to <code class="docutils literal notranslate"><span class="pre">udATI...</span></code> and <code class="docutils literal notranslate"><span class="pre">vdkStandardAttribute...</span></code> to <code class="docutils literal notranslate"><span class="pre">udStdAttribute...</span></code></p></li>
</ul>
</li>
</ul>
</li>
<li><p>Login now uses email instead of username</p></li>
<li><p>If you need assistance, reach out to <a class="reference external" href="mailto:support&#37;&#52;&#48;euclideon&#46;com">support<span>&#64;</span>euclideon<span>&#46;</span>com</a></p></li>
</ul>
</section>
<section id="breaking-changes-from-udsdk-1-6-5">
<h3>Breaking Changes (From udSDK &lt;= 1.6.5)<a class="headerlink" href="#breaking-changes-from-udsdk-1-6-5" title="Permalink to this headline">¶</a></h3>
<p>Not all features are available in udSDK 2.0 yet; Reach out to your developer contact so we can focus development where it is required to ensure we meet your requirements moving forward.</p>
<ul class="simple">
<li><p>There is no direct upgrade path, the entire core renderer and convert pipelines have been upgraded and not all features are available yet.</p></li>
<li><p>Lots of features may not exist or will exist in a different format.</p></li>
</ul>
</section>
<section id="specific-changes-since-vdk0-6-0">
<h3>Specific changes since VDK0.6.0<a class="headerlink" href="#specific-changes-since-vdk0-6-0" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>Removed built-in watermark support (still available manually)</p></li>
<li><p>Fixed some LAZ and ASC conversion issues reported by users</p></li>
<li><p>Removed server-side license pooling (login to Euclideon Servers is still required)</p></li>
<li><p>Optimised login to require less back and forth with the server</p></li>
<li><p>Added support for server-side projects</p></li>
<li><p>Added user utility functions to Register, Change Password and Forgot Password</p></li>
<li><p>Exposed udStreamer information and added a render flag to disable streamer updates after render (ideally 1 update/frame)</p></li>
<li><p>Added preliminary support for storing primitives (currently limited to triangles) in the UDS file</p></li>
</ul>
</section>
</section>
</section>


          </div>
          
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">Euclideon udSDK</a></h1>








<h3>Navigation</h3>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">udSDK Release Notes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#udsdk-2-4">udSDK 2.4</a></li>
<li class="toctree-l2"><a class="reference internal" href="#udsdk-2-3">udSDK 2.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#udsdk-2-2">udSDK 2.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#udsdk-2-1">udSDK 2.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#udsdk-2-0">udSDK 2.0</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="udSDK.html">udSDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="udSDKExternal.html">3rd Party Licenses</a></li>
</ul>

<div class="relations">
<h3>Related Topics</h3>
<ul>
  <li><a href="index.html">Documentation overview</a><ul>
      <li>Previous: <a href="index.html" title="previous chapter">Euclideon udSDK!</a></li>
      <li>Next: <a href="udSDK.html" title="next chapter">udSDK</a></li>
  </ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" />
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>$('#searchbox').show(0);</script>








        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="footer">
      &copy;2020, Euclideon Pty Ltd.
      
      |
      Powered by <a href="http://sphinx-doc.org/">Sphinx 2.4.4</a>
      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.13</a>
      
    </div>

    

    
  </body>
</html>